﻿namespace FinMkts
{
    /// <summary>
    /// A specification for futures contracts
    /// </summary>
    /// <example>Corn futures</example>
    public class FuturesContractSpecification : ContractSpecification
    {
        /// <example>
        /// 5000 bushels
        /// </example>
        public Quantity<decimal> ContractSize { get; set; }

        /// <example>
        /// #2 yellow at contract price
        /// </example>
        public string Grade { get; set; }

        /// <example>
        /// Cents per bushel
        /// </example>
        public string UnitPricing { get; set; }

        /// <example>
        /// 1/4 of one cent per bushel ($12.50 per contract)
        /// </example>
        public string TickSize { get; set; }

        /// <example>
        /// March (H), May (K), July (N), September (U) & December (Z)
        /// </example>
        public string Occurance { get; set; }

        /// <example>
        /// The business day prior to the 15th calendar day of the contract month
        /// </example>
        public string LastTradingDate { get; set; }

        /// <example>
        /// Second business day following the last trading day of the delivery month
        /// </example>
        public string LastDeliveryDate { get; set; }
    }
}